package com.bella.api.system.service;

import com.bella.api.system.dto.AdminDto;
import com.bella.api.system.dto.user.AdminInfoDto;
import com.bella.api.system.dto.user.AdminQueryDto;
import com.bella.api.system.dto.LoginDto;
import com.bella.api.utils.PageResult;

/**
 * @author zsq
 * @create 2020-04-17-17:55
 */
public interface UserService {
    /**
     * 用户登录
     *
     * @param loginDto
     * @return
     */
    AdminDto login(LoginDto loginDto);

    /**
     * 退出登录
     */
    void logout();

    /**
     * 获取用户信息
     */
    AdminInfoDto getInfo(Integer id);

    /**
     * 根据token获取用户信息
     *
     * @param token
     * @return
     */
    AdminDto getAdminByToken(String token);

    /**
     * 用户列表
     *
     * @param adminQueryDto
     * @return
     */
    PageResult getAdminList(AdminQueryDto adminQueryDto);

    /**
     * 用户新增
     *
     * @param adminInfoDto
     */
    void addUser(AdminInfoDto adminInfoDto);

    /**
     * 用户编辑
     *
     * @param adminInfoDto
     */
    void updateUser(AdminInfoDto adminInfoDto);

    /**
     * 用户删除
     * @param id
     */
    void delUser(Integer id);

    void setRedis();
}
